package com.jie.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.jie.dto.RunTrackDTO;
import com.jie.dto.SportTrackDTO;
import com.jie.entity.RunTrack;
import com.jie.mongodb.entity.SportTrack;
import com.jie.vo.*;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jie
 * @since 2024-07-10
 */
public interface IRunTrackService extends IService<RunTrack> {

    /**
     * 生成跑步新
     * @param sportInfoVO
     * @return
     */
    boolean addSportInfo(SportInfoVO sportInfoVO);

    /**
     * 关闭跑步轨迹房间或结束
     * @param runTrackId
     * @return
     */
    boolean closeSport(Integer runTrackId,Integer userId);

    /**
     * 单人采集接口
     * @param trackInfoVO
     */
    void collectLocationInfo(TrackInfoVO trackInfoVO);

    /**
     *  分页获取跑步轨迹信息
     * @param runTrackId
     * @param userId
     * @param conditionVO
     * @return
     */
    PageResult<SportTrackDTO> getTrackInfoPage(Integer runTrackId, Integer userId, ConditionVO conditionVO);

    /**
     * 生成多人房间信息
     * @param userRunTrackVO
     * @return
     */
    RunTrackDTO startMatchInfo(UserRunTrackVO userRunTrackVO);

    /**
     * 加入多人房间
     * @param sportInfoVO
     * @return
     */
    boolean joinMatchRoom(SportInfoVO sportInfoVO);
}
